package com.whm.hrmanagement.domain;

import java.math.BigDecimal;
import com.whm.common.annotation.Excel;
import com.whm.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 员工工资对象 oa_salary
 * 
 * @author whm
 * @date 2024-02-07
 */
public class OaSalary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 员工id */
    @Excel(name = "员工id")
    private String staffId;

    /** 基础工资 */
    @Excel(name = "基础工资")
    private BigDecimal baseSalary;

    /** 加班费 */
    @Excel(name = "加班费")
    private BigDecimal overtimeSalary;

    /** 生活补贴 */
    @Excel(name = "生活补贴")
    private BigDecimal subsidy;

    /** 奖金 */
    @Excel(name = "奖金")
    private BigDecimal bonus;

    /** 总工资 */
    @Excel(name = "总工资")
    private BigDecimal totalSalary;

    /** 早退扣款 */
    @Excel(name = "早退扣款")
    private BigDecimal lateDeduct;

    /** 休假扣款 */
    @Excel(name = "休假扣款")
    private BigDecimal leaveDeduct;

    /** 早退扣款 */
    @Excel(name = "早退扣款")
    private BigDecimal leaveEarlyDeduct;

    /** 旷工扣款 */
    @Excel(name = "旷工扣款")
    private BigDecimal absenteeismDeduct;

    /** 月份 */
    @Excel(name = "月份")
    private String month;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getStaffId() {
        return staffId;
    }

    public void setStaffId(String staffId) {
        this.staffId = staffId;
    }

    public BigDecimal getBaseSalary() {
        return baseSalary;
    }

    public void setBaseSalary(BigDecimal baseSalary) {
        this.baseSalary = baseSalary;
    }

    public BigDecimal getOvertimeSalary() {
        return overtimeSalary;
    }

    public void setOvertimeSalary(BigDecimal overtimeSalary) {
        this.overtimeSalary = overtimeSalary;
    }

    public BigDecimal getSubsidy() {
        return subsidy;
    }

    public void setSubsidy(BigDecimal subsidy) {
        this.subsidy = subsidy;
    }

    public BigDecimal getBonus() {
        return bonus;
    }

    public void setBonus(BigDecimal bonus) {
        this.bonus = bonus;
    }

    public BigDecimal getTotalSalary() {
        return totalSalary;
    }

    public void setTotalSalary(BigDecimal totalSalary) {
        this.totalSalary = totalSalary;
    }

    public BigDecimal getLateDeduct() {
        return lateDeduct;
    }

    public void setLateDeduct(BigDecimal lateDeduct) {
        this.lateDeduct = lateDeduct;
    }

    public BigDecimal getLeaveDeduct() {
        return leaveDeduct;
    }

    public void setLeaveDeduct(BigDecimal leaveDeduct) {
        this.leaveDeduct = leaveDeduct;
    }

    public BigDecimal getLeaveEarlyDeduct() {
        return leaveEarlyDeduct;
    }

    public void setLeaveEarlyDeduct(BigDecimal leaveEarlyDeduct) {
        this.leaveEarlyDeduct = leaveEarlyDeduct;
    }

    public BigDecimal getAbsenteeismDeduct() {
        return absenteeismDeduct;
    }

    public void setAbsenteeismDeduct(BigDecimal absenteeismDeduct) {
        this.absenteeismDeduct = absenteeismDeduct;
    }

    public String getMonth() {
        return month;
    }

    public void setMonth(String month) {
        this.month = month;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("staffId", getStaffId())
            .append("baseSalary", getBaseSalary())
            .append("overtimeSalary", getOvertimeSalary())
            .append("subsidy", getSubsidy())
            .append("bonus", getBonus())
            .append("totalSalary", getTotalSalary())
            .append("lateDeduct", getLateDeduct())
            .append("leaveDeduct", getLeaveDeduct())
            .append("leaveEarlyDeduct", getLeaveEarlyDeduct())
            .append("absenteeismDeduct", getAbsenteeismDeduct())
            .append("month", getMonth())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
